package day07;

import java.util.Scanner;
import java.util.Scanner;

public class PrimeFactorization {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个15以内的正整数: ");
        int number = scanner.nextInt();
        if (number <= 0 || number > 15) {
            System.out.println("输入的数不在1到15的范围内，请重新输入。");
            return;
        }
        // 输出原始整数
        System.out.print(number + " = ");
        // 检查是否为质数，直接输出
        if (isPrime(number)) {
            System.out.println(number);
            return;
        }
        // 分解质因数
        boolean firstFactor = true; // 用来标记是否是第一个质因数
        for (int i = 2; i <= number; i++) {
            while (number % i == 0) {
                if (!firstFactor) {
                    System.out.print(" * ");
                }
                System.out.print(i);
                number /= i;
                firstFactor = false; // 标记已经输出了第一个质因数
                if (number == 1) {
                    break;
                }
            }
        }
        // 清理资源
        scanner.close();
    }
    // 判断一个数是否为质数
    private static boolean isPrime(int num) {
        if (num <= 1) {
            return false;
        }
        for (int i = 2; i <= Math.sqrt(num); i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
}
